//
//  AppDelegate.m
//  OCVVeibo
//
//  Created by leergou on 16/7/19.
//  Copyright © 2016年 WhiteHouse. All rights reserved.
//

#import "AppDelegate.h"
#import "STTabBarController.h"
#import "STWelcomeController.h"
#import "STNewFeatureController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
    self.window.backgroundColor = [UIColor whiteColor];
    
    [self setupRootViewController];
    
    [self.window makeKeyAndVisible];
    
    [self setAppStyle];
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(switchRootVc:) name:STSwitchRootVCNotification object:nil];
    
    return YES;
}

// 接收通知,切换跟控制器
- (void)switchRootVc:(NSNotification *)notification{
    
    if (!notification.object) {
        // 从授权页->欢迎界面
        self.window.rootViewController = [[STWelcomeController alloc] init];
    } else {
        
        // 欢迎界面 或者 新特性界面 -> MainVc
        self.window.rootViewController = [[STTabBarController alloc] init];
    }
}

// 程序启动设置跟控制器
- (void)setupRootViewController{
    
    // 登录了
    if ([STUserAccountVM sharedUserAccountTools].isLogin) {
        // 继续判断是不是新版本
        if ([self isNewVersion]) {
            // 是新版本,新特性界面
            self.window.rootViewController = [[STNewFeatureController alloc] init];
        } else {
            // 不是新版本,进入欢迎界面
            self.window.rootViewController = [[STWelcomeController alloc] init];
        }
    } else {
        // 没登录
        self.window.rootViewController = [[STTabBarController alloc] init];
    }
}

// 判断是否是新版本
#pragma mark - 判断应用程序当前版本--> 在info.plist文件中可以看到
- (BOOL)isNewVersion{
    
    // 1.取出应用当前版本
    NSDictionary *infoDict = [NSBundle mainBundle].infoDictionary;
    
    NSString *currentVersion = infoDict[@"CFBundleInfoDictionaryVersion"];
    
    // 2.读取偏好中存储的版本号
    NSString *savedVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"saved_version"];
    
    // 2.比较版本是否为最新
    if ([currentVersion isEqualToString:savedVersion]) {
        
        // 版本号相同,不是新版本
        return NO;
    } else {
        
        // 版本号不同,版本是新版本
        // 首先将新版本号存到偏好
        [[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:@"saved_version"];
        
        // 同步
        [[NSUserDefaults standardUserDefaults] synchronize];
        
        return YES;
    }
}


// 设置 app style
- (void)setAppStyle{
    
    UINavigationBar *nav = [UINavigationBar appearance];
    [nav setTintColor:[UIColor orangeColor]];
    
    UITabBar *tab = [UITabBar appearance];
    [tab setTintColor:[UIColor orangeColor]];
    
}

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}


@end
